'''
课堂综合练习[可以选择做或者不做。明天讲]
** 名片管理系统 **
cards = [
    {“name”:”张三”, ”tel”:”17715154242”, ”job”:”CEO”, ”addr”:”天府新谷”, ”company”:”源码时代”},  # 字典
    {名片信息2},
    {名片信息3}
]
需要完成的功能就是对名片盒子进行增删改查
1.添加名片: 根据用户录入的信息, 组装成字典追加到名片盒子里面
2.显示所有名片: 遍历名片盒子输出名片信息
3.修改名片: 录入需要修改名片的姓名, 根据名字到名片合子查找对应的哪一张名片, 如果找到, 重写录入新的名片信息, 完成修改操作
4.删除名片: 录入需要删除名片的姓名, 根据名字到名片盒子中查到对应的名片并删除.
'''

# 准备数据
cards = [{'name':'张三', 'tel':'17715154242', 'job':'CEO', 'addr':'天府新谷', 'company':'源码时代'}]

while True:
    code = input('请输入功能编号[1添加|2显示|3修改|4删除]:')
    if code == '1':
        # 1 添加名片
        # 接收用户输入
        name = input('name:')
        tel = input('tel:')
        job = input('job:')


        # 追加到列表 list.append({})
        cards.append({'name':name, 'tel':tel, 'job':job},)
        print('添加成功')

    elif code == '2':
        # 2 显示名片
        for info in cards:
            print(f'name:{info.get("name")}, job:{info["job"]}, tel:{info.get("tel"),}')
    elif code == '3':
        # 3 修改名片
        # 获取用户要修改的name
        name = input('name:')
        for info in cards:
            if info['name'] == name:
                while True:
                    editWord = input('请输入要修改的字段[name|job|tel|输入其他退出]:')
                    if editWord == 'name':
                        name = input('请输入name:')
                        info['name'] = name
                        print(info)
                    elif editWord == 'job':
                        job = input('请输入job:')
                        info['job'] = job
                    elif editWord == 'tel':
                        tel =  input('请输入tel:')
                        info['tel'] = tel
                    else:
                        break
            break
        else:
            print('没有要找的name')
    elif code == '4':
        # 4 删除名片
        # 获取要删除的用户名
        name = input('name:')
        for info in cards:
            if info.get('name') == name:
                cards.remove(info)
                print('删除成功')
                break
        else:
            print('没有该用户')
    else:
        print('退出')
        break



